Skip to content

Conversation

jaellio
Copy link
Contributor

@jaellio jaellio commented Jul 28, 2025

Description

@keithmattix and Mitch Conners are the current owners of this PR

PR is now ready for review

Reviewers

  • Ambient
  • Docs
  • Installation
  • Networking
  • Performance and Scalability
  • Extensions and Telemetry
  • Security
  • Test and Release
  • User Experience
  • Developer Infrastructure
  • Localization/Translation

@istio-testing
Copy link
Contributor

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@istio-policy-bot
Copy link

😊 Welcome! This is either your first contribution to the Istio documentation repo, or
it's been a while since you've been here. A few things you should know:

  • You can learn about how we write and maintain documentation, our style guidelines,
    and the available web site features by visiting Contributing to the Docs.

  • In the next few minutes, an automatic preview of your change will be built with
    a full copy of the istio.io website. You can find this preview by clicking on
    the Details link next to the deploy/netlify entry in the status section of this
    page.

  • We care about quality, so we've put in place a number of checks to ensure our documentation
    is top-notch. We do spell checking, sanitize the Markdown, ensure all hyperlinks point to a
    valid location, and more. If your PR doesn't pass one of these checks, you'll see a red X in the
    lint_istio.io entry in the status section. Click on the Details link to get a list of the
    problems with your PR. Fix those problems and push an update; this will automatically re-run the
    tests. Hopefully this time everything will be perfect!

  • Once your changes are accepted and merged into the repository, they will initially show up
    on https://preliminary.istio.io. The changes will be published to https://istio.io
    the next time we do a major release (which typically happens every 3 months or so).
    To publish them sooner, add a cherrypick/release-x.xx label, where x.xx is the current
    release of Istio.

Thanks for contributing!

Courtesy of your friendly welcome wagon.

@istio-testing istio-testing added the size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. label Jul 28, 2025

Currently, ambient multicluster **only supports**:
- **Multi-network topologies** with multiple primary clusters
- **Double HBONE encapsulation** for cross-cluster traffic
Copy link
Contributor

@Stevenjin8 Stevenjin8 Aug 4, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry I'm a bit late to the party.

  • Multi-network topologies with multiple primary clusters

More accurately, each cluster has to be a primary cluster (have its own istiod). If you have 10 clusters but only two primary cluster, then you would have "multiply primary clusters" but this topology would not be supported.

  • Double HBONE encapsulation for cross-cluster traffic

Can we configure the this at all? is there any way for someone to try any other inner/outer tunnel protocol configuration. If not, then I think we can omit this.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

More accurately, each cluster has to be a primary cluster (have its own istiod). If you have 10 clusters but only two primary cluster, then you would have "multiply primary clusters" but this topology would not be supported.

Totally agree - good clarification

Can we configure the this at all? is there any way for someone to try any other inner/outer tunnel protocol configuration. If not, then I think we can omit this.

Even if we don't support other configurations, it might be good to explicitly clarify we currently don't support protocols other than double hbone. I could be convinced either way.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I took a stab at rewording; let me know your thoughts

Currently, ambient multicluster **only supports**:
- **Multi-network topologies** with multiple primary clusters
- **Double HBONE encapsulation** for cross-cluster traffic
- **Universal waypoint deployments** across all clusters with identical names
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

waypoint deployment or configuration? You don't have to deploy waypoints in all clusters, but maybe we do want to require this to avoid confusion.

Copy link
Contributor Author

@jaellio jaellio Aug 6, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If a service is using a waypoint does it have to have one locally available (as well as globally)?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, but the services also have the same waypoints across clusters

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess we talk about it later

- Waypoint configurations must be synchronized manually across clusters
- Traffic routing relies on consistent waypoint naming conventions

#### Service Visibility and Scoping
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The locality of services with waypoints is also confusing and worth mentioning. Like if service is local, but its waypoint service is labeled as global, then it is global.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, this makes sense when I think of the implementation, but it's probably something to make an adjustment to in beta (/cc @therealmitchconnors @krinkinmu)


## Deploy the `HelloWorld` Service

In order to make the `HelloWorld` service callable from any cluster, the DNS
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TECHNICALLY, kubernetes also allows you to do service discovery though environment variables (crazy). But I think that mentioning DNS distracts from the point a bit. I think its more like, we want to create a helloworld service that we're eventually going to use to csend cross-cluster traffic. To start, we need to create the service in each cluster

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like the reference to the DNS doc though because it's important consideration for anyone trying to do multicluster (I remember stumbling through this when I first gave it a try). The k8s env var service disovery approach only works within single-cluster on the namespace, so I think this belongs

@keithmattix keithmattix mentioned this pull request Aug 6, 2025
11 tasks
@keithmattix keithmattix marked this pull request as ready for review August 6, 2025 13:08
@keithmattix keithmattix requested a review from a team as a code owner August 6, 2025 13:08
@istio-testing istio-testing removed the do-not-merge/work-in-progress Block merging of a PR because it isn't ready yet. label Aug 6, 2025
Copy link

linux-foundation-easycla bot commented Aug 6, 2025

CLA Signed

The committers listed above are authorized under a signed CLA.

@keithmattix keithmattix force-pushed the jaellio/ambientmultinetdocs branch from 214cd73 to c16c515 Compare August 6, 2025 16:56
Comment on lines +12 to +14
Before you begin a multicluster installation, review the
[deployment models guide](/docs/ops/deployment/deployment-models)
which describes the foundational concepts used throughout this guide.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will sending people to the sidecar version of the doc confuse them?

Copy link
Contributor

@keithmattix keithmattix Aug 11, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IIUC, the link isn't a sidecar specific doc; in theory, ambient can support all of the deployment models listed there.

@@ -95,7 +95,7 @@ check_content() {
FAILED=1
fi

if grep -nrP --include "*.md" -e "\(https://istio.io/(?!v[0-9]\.[0-9]/|archive/)" .; then
if grep -nrP --include "*.md" -e "\(https://istio.io/(?!v[0-9]\.[0-9]/|archive|news/)" .; then
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is this trying to do?

We shouldn't have any content at https://istio.io/news/ any more, which I think is what is being added.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We do link to news in one of these new docs to tell people to check there for updates on the feature status of ambient multi cluster

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should be /latest/news, then, instead of /news.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Doesn't /news redirect to /latest/news? I can update the regex and reference though if that's preferred

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please do yes; everything without a /latest/ is a leftover from before we put versioning in the site, rather than having archives on archive.istio.io. Which I still don't understand why we did, but I assume David had a really good reason :)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Gotcha, updated!


Before proceeding, be sure to complete the steps under
[before you begin](/docs/setup/install/multicluster/before-you-begin) as well as
choosing and following one of the multicluster installation guides.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

some links missing here?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One was incorrect and one was missing. Should be fixed, but I'll try and look through the Netlify preview

jaellio and others added 5 commits August 11, 2025 15:17
Signed-off-by: Keith Mattix II <[email protected]>
Signed-off-by: Keith Mattix II <[email protected]>
Signed-off-by: Keith Mattix II <[email protected]>
Signed-off-by: Keith Mattix II <[email protected]>
@keithmattix keithmattix force-pushed the jaellio/ambientmultinetdocs branch from 34932f4 to e6b080d Compare August 11, 2025 15:44
Signed-off-by: Keith Mattix II <[email protected]>
Signed-off-by: Keith Mattix II <[email protected]>
Signed-off-by: Keith Mattix II <[email protected]>
@keithmattix
Copy link
Contributor

/test doc.test.profile-default

Signed-off-by: Keith Mattix II <[email protected]>
@craigbox craigbox added the do-not-merge/hold Block automatic merging of a PR. label Aug 12, 2025
Signed-off-by: Keith Mattix II <[email protected]>
@keithmattix keithmattix removed the do-not-merge/hold Block automatic merging of a PR. label Aug 12, 2025
@istio-testing istio-testing merged commit dd96a14 into istio:master Aug 12, 2025
13 checks passed
@keithmattix keithmattix added the cherrypick/release-1.27 Set this label on a PR to auto-merge it to the release-1.27 branch label Aug 12, 2025
@istio-testing
Copy link
Contributor

In response to a cherrypick label: new pull request created: #16776

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/ambient area/networking cherrypick/release-1.27 Set this label on a PR to auto-merge it to the release-1.27 branch kind/docs size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants